package com.rc.saas.tenant.service.invoice;

import com.github.pagehelper.PageInfo;
import com.rc.saas.tenant.base.BaseSearch;
import com.rc.saas.tenant.base.BaseService;
import com.rc.saas.tenant.mapper.invoice.TenantInvoiceInfoMapper;
import com.rc.saas.tenant.model.invoice.TenantInvoiceInfo;
import com.rc.saas.tenant.model.invoice.TenantInvoiceInfoExample;
import com.rc.saas.tenant.search.elec.StationInvoiceSearch;
import com.rc.saas.tenant.vo.invoice.StationInvoiceDetailExportVo;
import com.rc.saas.tenant.vo.invoice.StationInvoiceExportVo;
import com.rc.saas.tenant.vo.invoice.StationInvoiceVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author frog
 * @date 2021/4/14
 */
public interface TenantInvoiceInfoService extends BaseService<String, TenantInvoiceInfo, TenantInvoiceInfoExample, TenantInvoiceInfoMapper> {
    PageInfo<TenantInvoiceInfo> listPageTenantInvoiceInfo(BaseSearch baseSearch);

    PageInfo<StationInvoiceVo> listPageCountStationInVoice(StationInvoiceSearch stationInvoiceSearch);

    PageInfo<StationInvoiceVo> listPageCountStationInVoice1(StationInvoiceSearch stationInvoiceSearch);

    PageInfo<StationInvoiceVo> listPageCountStationInvoice2(StationInvoiceSearch stationInvoiceSearch);

    List<StationInvoiceDetailExportVo> listStationInvoiceDetail1(StationInvoiceSearch stationInvoiceSearch);

    List<StationInvoiceDetailExportVo> listStationInvoiceDetail2(StationInvoiceSearch stationInvoiceSearch);

    List<StationInvoiceDetailExportVo> listStationInvoiceDetail(StationInvoiceSearch stationInvoiceSearch);

    List<Long> listInvoiceStationId(StationInvoiceSearch stationInvoiceSearch);

    List<StationInvoiceExportVo> listCountStationInVoice1(StationInvoiceSearch stationInvoiceSearch);

    List<StationInvoiceExportVo> listCountStationInVoice2(StationInvoiceSearch stationInvoiceSearch);

    List<StationInvoiceExportVo> listCountStationInVoice(StationInvoiceSearch stationInvoiceSearch);

    PageInfo<StationInvoiceVo> listPageCountOperatorStationInVoice1(StationInvoiceSearch stationInvoiceSearch);

    PageInfo<StationInvoiceVo> listPageCountOperatorStationInVoice2(StationInvoiceSearch stationInvoiceSearch);

    PageInfo<StationInvoiceVo> listPageCountOperatorStationInVoice(StationInvoiceSearch stationInvoiceSearch);

    List<StationInvoiceDetailExportVo> listOperatorStationInvoiceDetail1(StationInvoiceSearch stationInvoiceSearch);

    List<StationInvoiceDetailExportVo> listOperatorStationInvoiceDetail2(StationInvoiceSearch stationInvoiceSearch);

    List<StationInvoiceDetailExportVo> listOperatorStationInvoiceDetail(StationInvoiceSearch stationInvoiceSearch);

    List<StationInvoiceExportVo> listCountOperatorStationInVoice1(StationInvoiceSearch stationInvoiceSearch);

    List<StationInvoiceExportVo> listCountOperatorStationInVoice2(StationInvoiceSearch stationInvoiceSearch);

    List<StationInvoiceExportVo> listCountOperatorStationInVoice(StationInvoiceSearch stationInvoiceSearch);
}
